A web service can be generally defined as one or more application functions that can be invoked over the Internet using a protocol. One example of a protocol that may be used in this context is the Simple Object Access Protocol (SOAP), which may be used by Internet-based application servers, also known as web servers, to provide web services. SOAP is a protocol that is often used in the exchange of information in decentralized, distributed network environments.
One goal of web services is to use the infrastructure of the web to provide information that is machine-readable. Unlike traditional client/server models such as a web server/web page system, web services do not typically provide the user with a graphical user interface (GUI), but instead share business logic, data, and processes through a programmatic interface across a network. As applications are capable of interfacing with web services, developers may add web services to a GUI (e.g. a web page or executable program) to offer specific functionality to users.
Furthermore, different applications from different sources can communicate with each other without extensive custom coding, and web services are not associated with any one operating system or programming languages. This flexibility allows more sophisticated business-to-business applications as well as more sophisticated browsing models (with more client-side processing of data) to be developed.
However, despite an increase in popularity of the web services model, attempts to adapt the model specifically for use in the field of wireless communications and by mobile devices have been relatively limited. Given the various constraints that may be particular to mobile devices (e.g. limited memory, increased bandwidth costs, etc.), there is a need to enhance the standard web services paradigm in a manner that better accounts for these constraints while preserving many of the advantages associated with web services.